package com.moodbox.server.mood.dto;

import com.moodbox.server.common.enums.MoodLevelEnum;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 心情记录数据传输对象
 */
@Data
@Accessors(chain = true)
public class MoodRecordDTO {
    /**
     * 记录ID（更新时使用）
     */
    private String id;

    /**
     * 心情等级
     */
    @NotNull(message = "心情等级不能为空")
    private MoodLevelEnum moodLevel;

    /**
     * 心情描述
     */
    @Size(max = 500, message = "心情描述不能超过500个字符")
    private String moodDescription;

    /**
     * 心情标签列表
     */
    private List<String> moodTags;

    /**
     * 心情图片URL列表
     */
    private List<String> moodImages;

    /**
     * 位置信息
     */
    @Size(max = 100, message = "位置信息不能超过100个字符")
    private String location;

    /**
     * 天气信息
     */
    @Size(max = 50, message = "天气信息不能超过50个字符")
    private String weather;

    /**
     * 活动信息
     */
    @Size(max = 100, message = "活动信息不能超过100个字符")
    private String activity;

    /**
     * 记录日期
     */
    private LocalDateTime recordDate;
} 